package com.ruoyi.material.service.impl;

import com.ruoyi.material.domain.Handbook;
import com.ruoyi.material.mapper.HandbookMapper;
import com.ruoyi.material.service.IHandbookService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import javax.validation.Validator;
import java.util.List;

/**
 * 礼物图鉴手册 业务层处理
 * 
 * @author ruoyi
 */
@Service
public class HandbookServiceImpl implements IHandbookService
{

    @Autowired
    private HandbookMapper handbookMapper;

    @Autowired
    protected Validator validator;

    /**
     * 根据条件分页查询礼物图鉴手册列表
     * 
     * @param handbook 礼物图鉴手册信息
     * @return 礼物图鉴手册信息集合信息
     */
    @Override
    public List<Handbook> selectHandbookList(Handbook handbook)
    {
        return handbookMapper.selectHandbookList(handbook);
    }

    /**
     * 通过礼物图鉴手册名查询礼物图鉴手册
     * 
     * @param handbookTitle 礼物图鉴手册名
     * @return 礼物图鉴手册对象信息
     */
    @Override
    public Handbook selectHandbookByHandbookTitle(String handbookTitle)
    {
        return handbookMapper.selectHandbookByHandbookTitle(handbookTitle);
    }

    /**
     * 通过礼物图鉴手册ID查询礼物图鉴手册
     * 
     * @param handbookId 礼物图鉴手册ID
     * @return 礼物图鉴手册对象信息
     */
    @Override
    public Handbook selectHandbookById(Long handbookId)
    {
        return handbookMapper.selectHandbookById(handbookId);
    }

    /**
     * 新增保存礼物图鉴手册信息
     * 
     * @param handbook 礼物图鉴手册信息
     * @return 结果
     */
    @Override
    @Transactional
    public int insertHandbook(Handbook handbook)
    {
        // 新增礼物图鉴手册信息
        int rows = handbookMapper.insertHandbook(handbook);
        return rows;
    }

    /**
     * 修改保存礼物图鉴手册信息
     * 
     * @param handbook 礼物图鉴手册信息
     * @return 结果
     */
    @Override
    @Transactional
    public int updateHandbook(Handbook handbook)
    {
        return handbookMapper.updateHandbook(handbook);
    }

    /**
     * 修改礼物图鉴手册状态
     * 
     * @param handbook 礼物图鉴手册信息
     * @return 结果
     */
    @Override
    public int updateHandbookStatus(Handbook handbook)
    {
        return handbookMapper.updateHandbook(handbook);
    }

    /**
     * 批量删除礼物图鉴手册信息
     * 
     * @param handbookIds 需要删除的礼物图鉴手册ID
     * @return 结果
     */
    @Override
    @Transactional
    public int deleteHandbookByIds(Long[] handbookIds) { return handbookMapper.deleteHandbookByIds(handbookIds); }
}
